package com.tubi.生产消费;

//生产者
public class Cooker  extends  Thread{
    private  Desk desk;
    public Cooker(Desk desk) {
        this.desk =desk;
    }

    @Override
    public void run() {
        //    生产者步骤：
//            1，判断桌子上是否有汉堡包
//    如果有就等待，如果没有才生产。
//            2，把汉堡包放在桌子上。
//            3，叫醒等待的消费者开吃。
        while (true){
//            锁
            synchronized (desk.getLock()){
                if(desk.getCunt()==0){
                    break;
                }else {
                    if(!desk.isFlag()){
//                        生产
                        System.out.println("生产汉堡包");
                        desk.setFlag(true);
                        desk.getLock().notifyAll();
                    }else {
                        try {
                            desk.getLock().wait();
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                }

            }
        }
    }
}
